/*
 * The public types of cacheflex, they are expected to be used
 * by the final users.
 */
#ifndef __CACHEFLEX_EXT_TYPES__
#define __CACHEFLEX_EXT_TYPES__

typedef enum
{
    CF_RECLAIM_LRU    = 0,
    CF_RECLAIM_LIRS   = 1,
    CF_RECLAIM_2Q     = 2,
    CF_RECLAIM_ARC    = 3,
    CF_RECLAIM_FIFO   = 4,
} cf_reclaim_type_t;

typedef enum
{
    CF_STORE_MEMORY_LIBC        = 0,
    CF_STORE_MEMORY_TCMALLOC    = 1,
    CF_STORE_SSD                = 2,
} cf_store_type_t;

typedef enum
{
    CF_INDEX_HASH   = 0,
    CF_INDEX_TREE   = 1,
} cf_index_type_t;

#endif // __CACHEFLEX_EXT_TYPES__

